24/09/2015

Docker, abundante en metáforas

La moda de los contenedores parece imparable en los ambientes del cloud computing. Muchos desarrolladores de aplicaciones han apreciado las ventajas de un método light de empaquetamiento de código [ ya han surgido varias startups y así]  y prestos, los peces gordos de la industria TI no quieren perderse la fiesta. RedHat saltó primero al ruedo, y Google a su manera; los últimos (por ahora) son Amazon Web Services, IBM, Microsoft y VMware. Los contenedores no son exactamente una tecnología nueva (se hablaba de ellos hace quince años), pero como si lo fueran: en un par de años, han acuñado metáforas descriptivas como «Lego o panal de aplicaciones distribuídas». Tan eficaces como discutibles.

El concepto ha llevado a la empresa Docker (antes dotCloud) a figurar entre los «unicornios», otra metáfora que designa a las empresas jóvenes cuando cruzan el umbral de los 1.000 millones de hipotético valor bursátil, el mínimo que debería pagar quien quisiera comprarlas. Calderilla para esos supuestos interesados, pero Ben Golub, CEO de Docker [que ya vendió dos empresas años atrás], dice no contemplar esa posibilidad. En la reciente conferencia DockerCon, en San Francisco, Golub presumió de haber pasado de 3 millones de descargas en 2014 a 500 millones hasta junio de este año.

La cifra impresiona, pero no dice gran cosa acerca de la calidad del crecimiento desde que Docker apareció en escena, en marzo del 2013: ¿cuántas de esos millones de descargas podrían convertirse en clientes? ¿son el embrión de una adopción masiva o sólo una recurrencia del modelo de negocio freemium, que según la experiencia no pasa del 3% de usuarios de pago? Mientras los inversores estén contentos, no habrá problemas.

El gran acierto de Docker ha sido poner en el mapa una tecnología que, de ser conocida sólo por iniciados, ha pasado a ser tenida en cuenta por los departamentos de TI de grandes empresas. Según un estudio promovido por RedHat, de una encuesta entre 400 profesionales de empresas del ranking Fortune 500, se desprende que dos tercios dicen haber pensado en desplegar en producción modelos basados en contenedores; el 83% piensa hacerlo bajo entornos virtuales en los próximos tres años.

La primera imagen que proyecta la tecnología que encarna Docker – y otras startup, como CoreOS – de la que este blog se ocupará otro día – presenta al contenedor como una alternativa ´ligera` de la virtualización. De ahí que ganara terreno la tesis de que Docker podría ser una amenaza para VMware. Es un tópico como tantos, pero una pelea imposible por diferencia de peso. La primera divergencia entre un contenedor y una máquina virtual es que los hipervisores ´abstraen` un dispositivo completo y a los contenedores les basta con el kernel del sistema operativo. En defensa de los segundos se aduce que no requieren una copia del sistema operativo [ni mucho menos una representación virtual del hardware] porque una misma copia puede ejecutarse en distintos contenedores, a razón de una instancia para cada aplicación, con la correlativa reducción de recursos necesarios. Esto lleva a que sean especialmente aptos para su despliegue en servicios cloud, al facilitar la ejecución de cargas y entornos múltiples en la misma máquina.

La aparente rivalidad con VMware es real, pero se ha diluído desde que en el VMworld del año pasado se anunció un acuerdo de colaboración con Docker. En todo caso, sería una colaboración inestable, porque VMware ha avanzado que su llamado proyecto Bonneville aspira a presentar un hipervisor ´ligero` que se comporta como un contenedor.

Otra prueba de que Docker ha llegado a puerto en el mejor momento es que IBM lo ofrecerá para entornos on-premise de sus clientes bajo la fórmula Docker Trusted Registry, que permite paquetizar aplicaciones para desplegarlas y gestionarlas de un modo sencillo. A escala de su cloud, ha anunciado IBM Containers, que permitirá hacer lo mismo a través de Bluemix, mediante modelo plataforma como servicio.

Otro socio de conveniencia es Microsoft, que ha incluído Docker en su sobrevenida adhesión a open source, sobre todo si se trata de entornos cloud. El muy respetado Mark Russinovitch, ahora en su papel de CTO de Azure, mostró en DockerCon cómo desplegar aplicaciones ´dockerizadas` tanto en Windows Server como en Linux. Esta vez, Russinovitch no repitió sus reservas acerca de la seguridad de Docker. En todo caso, Microsoft ha sido capaz de compatibilizar Docker con un sistema operativo minimalista (Nano Server, lo llaman) con el fin de reforzar la competitividad de Windows. Se puede decir que es una respuesta a RedHat, que promueve agresivamente su propio Linux ´minimalista`, y a Google, con su sistema de control de contenedores Kubernettes, también open source.

Buenas noticias para Solomon Hykes, el inventor de Docker [su criatura tiene ya ocho años]: «la ´dockerización` de Microsoft es una confirmación de nuestra trayectoria, un mensaje de que Docker no es esa especie de herramienta hippy como muchos lo llamaban, sino un componente de la caja de herramientas de cualquier organización de TI».

Las palabras de Hykes transmiten a su pesar ese tono amater que niega, pero que es consustancial a los talentos del Silicon Valley, con sus intactas ganas de comerse el mundo. Promete dedicar los próximos años a crear una plataforma que permita desarrollar aplicaciones distribuídas para todo Internet y subconjuntos, acabando con la actual fragmentación. Ha empezado con buen pie, no obstante, con la creación de Open Container Project, iniciativa liderada por Hykes y Alex Polvi – fundador de CoreOS – cuya ambición es poner de acuerdo a todo el ´ecosistema` relacionado con los contenedores, para crear un estándar global. Por el momento, ya es todo un éxito que ambas startups haya sido capaces de sentar en una mesa a AWS, Cisco, EMC, Fujitsu, Google, HP, Huawei, Intel y Pivotal, además de la Linux Foundation.

Lo que tienen de común esos compañeros de ruta es la convicción de que los departamentos de TI – sus clientes, por tanto – buscan con denuedo la posibilidad de hacer que aplicaciones y cargas sean más portables y más distribuídas, en un contexto estandarizado y replicable. Según Ben Golub, «nuestro objetivo ha sido siempre contribuir a una nueva era en el que la posibilidad de desarrollos ágiles y creativos, constituya ´el botón` (sic) que permita que cada código funcione instantáneamente en cualquier servicio, en cualquier parte».

Los parámetros que rigen cada nivel de las TI pueden ser de distintas formas. El objetivo que propone Docker – y que, se supone, comparten sus aliados – es que en un mundo de infraestructuras definidas por software, sea factible ensamblar las piezas de una computación todavía muy desagregada: construir, desmontar y volver a construir combinando objetos diversos. Ahí es donde encaja la ocurrente metáfora del Lego.

[informe de Daniel Comino]


Contacto Suscríbete RSS


Sobre el autor. Copyright © 2024 El dominio norbertogallego.com es propiedad y está administrado por Diandro SL. B85905537. Creative Commons